package com.grupobbva.iici.session;
import java.util.Collection;
import java.util.Iterator;
import java.util.Vector;
import javax.ejb.EJBException;
import javax.ejb.RemoveException;
import com.ibm.etools.service.locator.ServiceLocatorManager;
import com.grupobbva.iici.entity.Tiici_corporativaLocalHome;
import com.grupobbva.iici.entity.Tiici_corporativaLocal;

import com.grupobbva.iici.serializable.Corporativa;

import com.grupobbva.iici.entity.Tiici_corporativaKey;

/**
 * Bean implementation class for Enterprise Bean: SessionCorporativa
 */
public class SessionCorporativaBean implements javax.ejb.SessionBean {
	private javax.ejb.SessionContext mySessionCtx;

	private final static String STATIC_Tiici_corporativaLocalHome_REF_NAME = "ejb/Tiici_corporativa";

	private final static Class STATIC_Tiici_corporativaLocalHome_CLASS = Tiici_corporativaLocalHome.class;

	/**
	 * getSessionContext
	 */
	public javax.ejb.SessionContext getSessionContext() {
		return mySessionCtx;
	}

	/**
	 * setSessionContext
	 */
	public void setSessionContext(javax.ejb.SessionContext ctx) {
		mySessionCtx = ctx;
	}

	/**
	 * ejbCreate
	 */
	public void ejbCreate() throws javax.ejb.CreateException {
	}

	/**
	 * ejbActivate
	 */
	public void ejbActivate() {
	}

	/**
	 * ejbPassivate
	 */
	public void ejbPassivate() {
	}

	/**
	 * ejbRemove
	 */
	public void ejbRemove() {
	}

	public Corporativa findCorporativaBean(String cod_mult, String cod_ele) {

		Tiici_corporativaLocal aTiici_corporativaLocal = find_Tiici_corporativaLocalHome_findCorporativaBean(
				cod_mult, cod_ele);
		if(aTiici_corporativaLocal != null){
			Corporativa corporativa = new Corporativa();
			corporativa.setCodEle(aTiici_corporativaLocal.getCod_ele());
			corporativa.setCodMult(aTiici_corporativaLocal.getCod_mult());
			corporativa.setValor1(aTiici_corporativaLocal.getValor1());
			corporativa.setValor2(aTiici_corporativaLocal.getValor2());
			corporativa.setValor3(aTiici_corporativaLocal.getValor3());
			corporativa.setValor4(aTiici_corporativaLocal.getValor4());
		
			return corporativa;
		}
		
		return null;
	}
	
	
	
	
	public boolean createCorporativa(Corporativa corporativa) {
		boolean foco = false;

		try {
			Tiici_corporativaLocal aTiici_corporativaLocal = createTiici_corporativaLocal(corporativa);
			foco = true;
		} catch (Exception e) {
			e.getStackTrace();
		}
	
		return foco;
	}

	public boolean deleteCorporativa(Corporativa corporativa) {
		boolean foco = false;
		Tiici_corporativaLocal aTiici_corporativaLocal = find_Tiici_corporativaLocalHome_findByPrimaryKey(new Tiici_corporativaKey(corporativa.getCodMult(), corporativa.getCodEle()));

		try {
			if (aTiici_corporativaLocal != null) {
				aTiici_corporativaLocal.remove();
				foco = true;
			}
		} catch (EJBException e) {
			e.printStackTrace();
		} catch (RemoveException e) {
			e.printStackTrace();
		}

		return foco;
	}

	public Vector findByCodMulti(String codMulti) {

		Vector records = new Vector();
		Tiici_corporativaLocalHome corporativaLocalHome = null;
		Iterator corporativasIterator = null;
		Collection aCollection = null;

		try {
			//aCollection = find_Tiicr_corporativaLocalHome_findByCodMulti(cod_mult);
			aCollection = find_Tiici_corporativaLocalHome_findByCodMulti(codMulti);
			corporativasIterator = aCollection.iterator();

			while (corporativasIterator.hasNext()) {
				Tiici_corporativaLocal corporativaLocal = (Tiici_corporativaLocal) corporativasIterator
						.next();
				if (!(corporativaLocal.getCod_ele().equals("0000"))) {
					Corporativa corporativa = new Corporativa();
					corporativa.setCodMult(corporativaLocal.getCod_mult());
					corporativa.setCodEle(corporativaLocal.getCod_ele());
					corporativa.setValor1(corporativaLocal.getValor1());
					corporativa.setValor2(corporativaLocal.getValor2());
					corporativa.setValor3(corporativaLocal.getValor3());
					corporativa.setValor4(corporativaLocal.getValor4());
					records.add(corporativa);
				}
			}
		} catch (Exception e) {
			//logger.info("Error al probar ejb de entidad: Naming Exception"
			//+ e.getMessage());
		}
		return records;
	}

	public Corporativa findByID(String id) {
		Corporativa corporativa = new Corporativa();
		try {

			Tiici_corporativaLocal aTiici_corporativaLocal = find_Tiici_corporativaLocalHome_findByID(id);
			if (aTiici_corporativaLocal != null) {
				corporativa.setCodMult(aTiici_corporativaLocal.getCod_mult());
				corporativa.setCodEle(aTiici_corporativaLocal.getCod_ele());
				corporativa.setValor1(aTiici_corporativaLocal.getValor1());
				corporativa.setValor2(aTiici_corporativaLocal.getValor2());
				corporativa.setValor3(aTiici_corporativaLocal.getValor3());
				corporativa.setValor4(aTiici_corporativaLocal.getValor4());
			}
		} catch (Exception e) {
			//logger.info("Error al probar ejb de entidad: Naming Exception"
			//	+ e.getMessage());
		}

		return corporativa;

	}

	public boolean updateCorporativa(Corporativa corporativa) {

		try {
			Tiici_corporativaLocal aTiici_corporativaLocal = find_Tiici_corporativaLocalHome_findByPrimaryKey(new Tiici_corporativaKey(
					corporativa.getCodMult(), corporativa.getCodEle()));

			if (aTiici_corporativaLocal != null) {
				aTiici_corporativaLocal.setValor1(corporativa.getValor1());
				aTiici_corporativaLocal.setValor2(corporativa.getValor2());
				aTiici_corporativaLocal.setValor3(corporativa.getValor3());
				aTiici_corporativaLocal.setValor4(corporativa.getValor4());
				return true;
			}
		} catch (Exception e) {
			//logger.info("Error al actualizar data en corporativa "
			//+ e.getMessage());
		}
		return false;
	}

	protected Collection find_Tiici_corporativaLocalHome_findByCodMulti(
			String codMulti) {
		Tiici_corporativaLocalHome aTiici_corporativaLocalHome = (Tiici_corporativaLocalHome) ServiceLocatorManager
				.getLocalHome(STATIC_Tiici_corporativaLocalHome_REF_NAME,
						STATIC_Tiici_corporativaLocalHome_CLASS);
		try {
			if (aTiici_corporativaLocalHome != null)
				return aTiici_corporativaLocalHome.findByCodMulti(codMulti);
		} catch (javax.ejb.FinderException fe) {
			fe.printStackTrace();
		}
		return null;
	}
	
	protected Tiici_corporativaLocal find_Tiici_corporativaLocalHome_findByID(
			String id) {
		Tiici_corporativaLocalHome aTiici_corporativaLocalHome = (Tiici_corporativaLocalHome) ServiceLocatorManager
				.getLocalHome(STATIC_Tiici_corporativaLocalHome_REF_NAME,
						STATIC_Tiici_corporativaLocalHome_CLASS);
		try {
			if (aTiici_corporativaLocalHome != null)
				return aTiici_corporativaLocalHome.findByID(id);
		} catch (javax.ejb.FinderException fe) {
			fe.printStackTrace();
		}
		return null;
	}
	protected Tiici_corporativaLocal find_Tiici_corporativaLocalHome_findByPrimaryKey(
			Tiici_corporativaKey primaryKey) {
		Tiici_corporativaLocalHome aTiici_corporativaLocalHome = (Tiici_corporativaLocalHome) ServiceLocatorManager
				.getLocalHome(STATIC_Tiici_corporativaLocalHome_REF_NAME,
						STATIC_Tiici_corporativaLocalHome_CLASS);
		try {
			if (aTiici_corporativaLocalHome != null)
				return aTiici_corporativaLocalHome.findByPrimaryKey(primaryKey);
		} catch (javax.ejb.FinderException fe) {
			fe.printStackTrace();
		}
		return null;
	}

	

	protected Tiici_corporativaLocal createTiici_corporativaLocal(
			Corporativa corporativa) {
		Tiici_corporativaLocalHome aTiici_corporativaLocalHome = (Tiici_corporativaLocalHome) ServiceLocatorManager
				.getLocalHome(STATIC_Tiici_corporativaLocalHome_REF_NAME,
						STATIC_Tiici_corporativaLocalHome_CLASS);
		try {
			if (aTiici_corporativaLocalHome != null)
				return aTiici_corporativaLocalHome.create(corporativa);
		} catch (javax.ejb.CreateException ce) {
			ce.printStackTrace();
		}
		return null;
	}


	protected Tiici_corporativaLocal find_Tiici_corporativaLocalHome_findCorporativaBean(
			String cod_mult, String cod_ele) {
		Tiici_corporativaLocalHome aTiici_corporativaLocalHome = (Tiici_corporativaLocalHome) ServiceLocatorManager
				.getLocalHome(STATIC_Tiici_corporativaLocalHome_REF_NAME,
						STATIC_Tiici_corporativaLocalHome_CLASS);
		try {
			if (aTiici_corporativaLocalHome != null)
				return aTiici_corporativaLocalHome.findCorporativaBean(
						cod_mult, cod_ele);
		} catch (javax.ejb.FinderException fe) {
			fe.printStackTrace();
		}
		return null;
	}
}
